package ru.mirent;

/**
 * Набор типов Mime для использования во вложениях к Allure-отчету.
 */
public enum MimeTypes {
    /**
     * Вложение в виде JSON.
     */
    APPLICATION_JSON("application/json", ".json"),
    /**
     * Вложение в виде XML.
     */
    APPLICATION_XML("application/xml", ".xml"),
    /**
     * Вложение в виде исходного кода HTML, аналог по MIME-типу {@link MimeTypes#APPLICATION_XML},
     * но с другим типом файла.
     */
    APPLICATION_XML_HTML("application/xml", ".html"),
    /**
     * Во вложении добавляется ссылка с текстом "Click to download attachment", по нажатию на которую происходит
     * и загрузка файла. Проверено для обычного текста, JSON, HTML и MARKDOWN.
     */
    MESSAGE_HTTP("message/http", ".txt"),
    /**
     * Вложение в виде элементов, созданных из переданного кода HTML.
     */
    TEXT_HTML("text/html", ".html"),
    /**
     * Вложение в виде обычного текста.
     */
    TEXT_PLAIN("text/plain", ".txt");

    public String getContentType() {
        return contentType;
    }

    public String getFileExtension() {
        return fileExtension;
    }

    private final String contentType;
    private final String fileExtension;

    MimeTypes(String contentType, String fileExtension) {
        this.contentType = contentType;
        this.fileExtension = fileExtension;
    }
}
